HAL LTDC control functions ¶
In HAL1, the
HAL_LTDC_PPP()
functions include an integrated immediate force reload mechanism, whereas the
HAL_LTDC_PPP_NoReload()
functions do not. Therefore, the latter requires an explicit call to
HAL_LTDC_Reload()
to apply any configuration changes. This approach allows the user to synchronize updates and avoid glitches on the screen.
In HAL2, the
HAL_LTDC_PPP()
functions no longer perform any automatic force reload and a call to
HAL_LTDC_ForceReload()
is required to apply the updates. Consequently, all
HAL_LTDC_PPP_NoReload()
functions have been removed.
HAL LTDC specific layer configuration ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_ConfigLayer(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg,
uint32_t LayerIdx);
|
HAL_LTDC_SetConfigLayer(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
const hal_ltdc_layer_config_t *p_layer_config);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
Related use case:
HAL LTDC layer configuration without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_ConfigLayer_NoReload(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg,
uint32_t LayerIdx);
|
Removed; use HAL_LTDC_SetConfigLayer(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
const hal_ltdc_layer_config_t *p_layer_config) instead.
|
HAL LTDC set window size ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetWindowSize(LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize,
uint32_t LayerIdx);
|
HAL_LTDC_SetLayerWindowSize(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
uint32_t x_size, uint32_t y_size);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC set window size without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetWindowSize_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize,
uint32_t LayerIdx);
|
Removed; use HAL_LTDC_SetLayerWindowSize(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
uint32_t x_size, uint32_t y_size) instead.
|
HAL LTDC set window position ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetWindowPosition(LTDC_HandleTypeDef *hltdc, uint32_t X0, uint32_t Y0,
uint32_t LayerIdx);
|
HAL_LTDC_SetLayerWindowPosition(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
uint32_t x0, uint32_t y0);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC set window position without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetWindowPosition_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t X0, uint32_t Y0,
uint32_t LayerIdx);
|
Removed; use HAL_LTDC_SetLayerWindowPosition(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
uint32_t x0, uint32_t y0) instead.
|
HAL LTDC set pixel format ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetPixelFormat(LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx);
|
Removed; use HAL_LTDC_SetLayerFrameBuffer(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
const hal_ltdc_frame_buffer_t *p_frame_buffer) followed by
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type) instead.
|
Usage example : ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetPixelFormat(&hltdc, LTDC_PIXEL_FORMAT_ARGB4444, 1);
|
hal_ltdc_frame_buffer_t frame_buffer_cfg;
frame_buffer_cfg.pixel_format = HAL_LTDC_PIXEL_FORMAT_ARGB4444;
frame_buffer_cfg.address = 0x00;
frame_buffer_cfg.width = 240;
frame_buffer_cfg.height = 320;
HAL_LTDC_SetLayerFrameBuffer(<DC_Handle, HAL_LTDC_LAYER_1, &frame_buffer_cfg);
HAL_LTDC_ForceReload(<DC_Handle, HAL_LTDC_RELOAD_IMMEDIATE);
|
HAL LTDC set pixel format without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetPixelFormat_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat,
uint32_t LayerIdx);
|
Removed; use HAL_LTDC_SetLayerFrameBuffer(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
const hal_ltdc_frame_buffer_t *p_frame_buffer) instead.
|
HAL LTDC set alpha value ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetAlpha(LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx);
|
HAL_LTDC_SetLayerAlpha(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer, uint8_t alpha);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC set alpha without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetAlpha_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx);
|
Removed; use HAL_LTDC_SetLayerAlpha(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
uint8_t alpha) instead.
|
HAL LTDC set frame buffer address. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetAddress(LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx);
|
HAL_LTDC_SetLayerAddress(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer, uint32_t address);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC set frame buffer address without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetAddress_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx);
|
Removed; use HAL_LTDC_SetLayerAddress(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
uint32_t address) instead.
|
HAL LTDC set pitch (line length) ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetPitch(LTDC_HandleTypeDef *hltdc, uint32_t LinePitchInPixels, uint32_t LayerIdx);
|
HAL_LTDC_SetLayerPitch(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer, uint32_t pitch_byte);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC set pitch without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_SetPitch_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LinePitchInPixels,
uint32_t LayerIdx);
|
Removed; use HAL_LTDC_SetLayerPitch(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
uint32_t pitch_byte) instead.
|
HAL LTDC color keying configuration ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_ConfigColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx);
|
HAL_LTDC_SetConfigLayerColorKeying(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
uint32_t rgb888_color);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC color keying configuration without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_ConfigColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t RGBValue,
uint32_t LayerIdx);
|
Removed; use HAL_LTDC_SetConfigLayerColorKeying(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
uint32_t rgb888_color) instead.
|
HAL LTDC Color Look-Up Table configuration ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_ConfigCLUT(LTDC_HandleTypeDef *hltdc, const uint32_t *pCLUT, uint32_t CLUTSize,
uint32_t LayerIdx);
|
HAL_LTDC_SetConfigLayerCLUT(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer,
const uint32_t *p_clut, uint32_t clut_size_pixel);
|
HAL LTDC CLUT enable ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_EnableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
|
HAL_LTDC_EnableLayerCLUT(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC CLUT enable without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_EnableCLUT_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
|
Removed; use HAL_LTDC_EnableLayerCLUT(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer) instead.
|
HAL LTDC CLUT disables ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_DisableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
|
HAL_LTDC_DisableLayerCLUT(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC CLUT disable without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_DisableCLUT_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
|
Removed; use HAL_LTDC_DisableLayerCLUT(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer) instead.
|
HAL LTDC color keying enable ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_EnableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
|
HAL_LTDC_EnableLayerColorKeying(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC color keying enable without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_EnableColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
|
Removed; use HAL_LTDC_EnableLayerColorKeying(hal_ltdc_handle_t *hltdc,
hal_ltdc_layer_t layer) instead.
|
HAL LTDC color keying disable ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_DisableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
|
HAL_LTDC_DisableLayerColorKeying(hal_ltdc_handle_t *hltdc, hal_ltdc_layer_t layer);
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC color keying disable without reload. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_DisableColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
|
Removed; use HAL_LTDC_DisableLayerColorKeying(hal_ltdc_handle_t *hltdc,
hal_ltdc_layer_t layer) instead.
|
HAL LTDC line event detection ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_ProgramLineEvent(LTDC_HandleTypeDef *hltdc, uint32_t Line);
|
HAL_LTDC_EnableLineDetection(const hal_ltdc_handle_t *hltdc, uint32_t line);
|
HAL LTDC enables dithering. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_EnableDither(LTDC_HandleTypeDef *hltdc);
|
HAL_LTDC_EnableDither(const hal_ltdc_handle_t *hltdc);
|
HAL LTDC disable dithering. ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_DisableDither(LTDC_HandleTypeDef *hltdc);
|
HAL_LTDC_DisableDither(const hal_ltdc_handle_t *hltdc);
|
HAL LTDC reload ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDC_Reload(LTDC_HandleTypeDef *hltdc, uint32_t ReloadType);
|
HAL_LTDC_ForceReload(const hal_ltdc_handle_t *hltdc, hal_ltdc_reload_type_t reload_type);
|
HAL LTDC adapted command configuration initialization ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDCEx_StructInitFromAdaptedCommandConfig(LTDC_HandleTypeDef *hltdc,
DSI_CmdCfgTypeDef *CmdCfg)
|
Removed; it will be addressed in the DSI driver.
|
Related concept:
HAL LTDC video configuration initialization ¶
|
HAL1 |
HAL2 |
|---|---|
HAL_LTDCEx_StructInitFromVideoConfig(LTDC_HandleTypeDef *hltdc, DSI_VidCfgTypeDef *VidCfg)
|
Removed; it will be addressed in the DSI driver.
|
Related concept: